// 购物车模块

export default {
  namespaced: true,
  state () {
    return {
      // 购物车列表
      list: []
    }
  },
  // 本地：id skuId name picture price nowPrice count attrsText selected stock isEffective
  // 线上：比上面多 isCollect 有用 discount 无用 两项项信息
  mutations: {
    insertCart (state, goods) {
      const sameIndex = state.list.findIndex(item => item.skuId === goods.skuId)
      if (sameIndex > 0) {
        // 逻辑：有相同的给goods累加数量，删除相同skuId的商品，重新添加到最顶位
        goods.value.count = state.list[sameIndex].count + goods.count
        state.list.splice(sameIndex, 1)
      }
      state.list.unshift(goods)
    }
  },
  actions: {
    insertCart (context, goods) {
      return new Promise((resolve, reject) => {
        if (context.rootState.user.token) {
          // 登录
        } else {
          context.commit('insertCart', goods)
          resolve()
        }
      })
    }
  }
}
